package com.anti.modular.bus.housebill.param;

import com.anti.commom.pojo.BaseParam;
import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.math.BigDecimal;

/**
* 账单参数类
 *
 * @author anti
 * @date 2021-05-07 09:59:46
*/
@Data
public class HouseBillParam extends BaseParam {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空，请检查id参数", groups = {edit.class, delete.class, detail.class})
    private Long id;

    /**
     * 租約id
     */
    private Long houseLeaseId;

    /**
     * 賬單流水號
     */
    private String no;

    /**
     * 賬單類型 （字典 bill_type）
     */
    @NotNull(message = "賬單類型 （字典 bill_type）不能为空，请检查billType参数", groups = {add.class, edit.class})
    private Integer billType;

    /**
     * 期數
     */
    @NotBlank(message = "期數不能为空，请检查qs参数", groups = {add.class, edit.class})
    private String qs;
    private Integer qsnum;
    /**
     * 收租日
     */
    @NotNull(message = "收租日不能为空，请检查rentedDay参数", groups = {add.class, edit.class})
    private String rentedDay;

    /**
     * 租期开始时间
     */
    @NotNull(message = "租期开始时间不能为空，请检查rentStartDate参数", groups = {add.class, edit.class})
    private String rentStartDate;

    /**
     * 租期结束时间
     */
    @NotNull(message = "租期结束时间不能为空，请检查rentEndDate参数", groups = {add.class, edit.class})
    private String rentEndDate;

    /**
     * 小計
     */
    @NotNull(message = "小計不能为空，请检查subtotal参数", groups = {add.class, edit.class})
    private BigDecimal subtotal;

    /**
     * 實收金額
     */
    @NotNull(message = "實收金額不能为空，请检查receiveAmount参数", groups = {add.class, edit.class})
    private BigDecimal receiveAmount;

    /**
     * 實收金額
     */
    @NotNull(message = "實收金額不能为空，请检查shouldReceiveDate参数", groups = {add.class, edit.class})
    private String shouldReceiveDate;

    /**
     * 應收日期
     */
    @NotNull(message = "應收日期不能为空，请检查receiveDate参数", groups = {add.class, edit.class})
    private String receiveDate;

    /**
     * 收款方式
     */
    @NotNull(message = "收款方式不能为空，请检查collectionType参数", groups = {add.class, edit.class})
    private Integer collectionType;

    /**
     * 收款方式名稱
     */
    @NotBlank(message = "收款方式名稱不能为空，请检查collectionTypeName参数", groups = {add.class, edit.class})
    private String collectionTypeName;

    /**
     * 到账状态（到账，未到账，拖欠,废弃（退租之后），已清算（退租之后））
     */
    @NotNull(message = "到账状态（到账，未到账，拖欠,废弃（退租之后），已清算（退租之后））不能为空，请检查billStatus参数", groups = {add.class, edit.class})
    private Integer billStatus;

    private String remark;
    /**
     * 状态（字典 0正常 1注銷 2刪除）
     */
    private Integer status;

    private String editType;



    /**
     * '评分
     */
    private Integer score;

    /**
     * '评价'
     */
    private String appraise;

    private String type;
    private Integer numType;
    private Integer excelType;
    /**
     * 搜索类型
     */
    private String searchType;
}
